package geom;


/**
 * Base class for all shapes.
 * @author Magnus Brand
 *
 */
public abstract class Shape {
	/**
	 * Computes the area
	 * @return Area of the shape
	 */
	public abstract double area();
	/**
	 * Checks if a point lies in the shape.
	 * @return True if point in shape; false otherwise
	 */
	public abstract boolean pointInShape(Point point);
	/**
	 * Checks if a point lies on the edge of the shape.
	 * @return True if point on edge; false otherwise.
	 */
	public abstract boolean pointOnEdge(Point point);
	/**
	 * Returns the position of the shape
	 * @return The coordinates of the position
	 */
	public abstract Point getPosition();
}
